The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.
Continuous integration (CI) is a software development practice that requires software developers to periodically integrate source code into a shared repository. The shared repository is usually managed by a source code management (SCM) system (also called a revision control or version control system) that tracks and manages source code as it is written and revised. The revisions (also called integrations) added to the SCM system are automatically deployed by a CI management system into one or more environments, such as a testing environment (where the source code is tested to ensure it runs), a staging environment (where performance of the source code is tested) and/or a production environment (also known as a live environment as users directly interact with the source code in this environment). As and when an integration is added to the SCM system, the CI management system determines which environment the integration is supposed to be deployed to and automatically deploys the source code in that environment.
It will be appreciated that each source code repository typically include hundreds if not thousands of integrations that are constantly being updated and deployed and it is often very difficult for developers and/or their managers to track which integrations have been deployed to which environment.